package com.pic.mgt.syushin.action;

public interface SyushinPackageScheduleMgtAction {
	
	public boolean addSchedule(String businessName, String scheduleName, String scheduleDescription, String cronExpression);
	
	public boolean removeSchedule(String businessName, String scheduleName);
	
	public boolean modifySchedule(String businessName, String scheduleName, String scheduleDescription, String cronExpression);
	
	/**
	 * 暫停業務的打包排程
	 * @param businessName 指定要暫停哪一項業務的打包排程
	 * @return
	 */
	public boolean pausePackagingSchedule(String businessName);
	
	/**
	 * 恢復業務的打包排程
	 * @param businessName 指定要恢復哪一項業務的打包排程
	 * @return
	 */
	public boolean resumePackagingSchedule(String businessName);
	
	/**
	 * 暫停所有業務的打包排程
	 * @return
	 */
	public boolean pausePackagingSchedule();
	
	/**
	 * 恢復所有業務的打包排程
	 * @return
	 */
	public boolean resumePackagingSchedule();
	
	/**
	 * 取得打包業務的工作排程資料。
	 * @param businessName
	 * @return 若回傳為 null,表示發生錯誤.
	 */
	public String getPackagingScheduleInfoByBizName(String businessName);
	
	/**
	 * 執行打包業務動作
	 * @param businessName
	 * @return
	 */
	public boolean packagingBusiness(String businessName);
}
